class Mammal {
  constructor(sound) {
    this._sound = sound;
  }

  talk() {
    console.log(this._sound);
  }
}

class Dog extends Mammal {
  constructor() {
    super("wang!");
  }
}

let fluffing = new Dog();
fluffing.sound = "mew";

console.log(typeof Dog);
console.log(Dog.prototype.talk());
console.log(Dog.prototype.talk.bind({ _sound: "roar" })());
console.log(Dog.prototype);
console.log(Mammal.prototype);
console.log(Dog.prototype.isPrototypeOf(fluffing));
console.log(Mammal.prototype.isPrototypeOf(fluffing));
